import * as Cesium from 'cesium'
// 设置ceisum的Ion
Cesium.Ion.defaultAccessToken = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5ZjQ5ZThjOS1mNjBhLTRiMzAtOGU0Yi0xMWE5NjQyM2Y3ZjYiLCJpZCI6MTMxOTc5LCJpYXQiOjE2ODA1Njk1MTZ9.2fxItjlczdbOsfcLTE4H5x-viCEZ0-qql5AKlSS-aGE'

// 配置cesium的视图显示
export const viewerOptions = {
  homeButton: false, //是否显示Home按钮
  fullscreenButton: false, //是否显示全屏按钮
  vrButton: false, // vr部件
  sceneModePicker: false, //是否显示投影方式控件
  baseLayerPicker: false, //是否显示图层选择控件
  navigationHelpButton: false, //是否显示帮助信息控件
  geocoder: false, //是否显示地名查找控件
  animation: false, //是否显示动画控件
  timeline: false, //是否显示时间线控件
  shadows: false, //影子
  infoBox: true, //是否显示点击要素之后显示的信息
  selectionIndicator: false, //获取选择指示器
  shouldAnimate: true,
  sceneMode: 3, //初始场景模式 1 2D模式 2 2D循环模式 3 3D模式  Cesium.SceneMode
  terrainProvider: await Cesium.createWorldTerrainAsync(),
}

// 默认初始视角
const initPerspective = {
  destination: Cesium.Cartesian3.fromDegrees(120.622475, 31.312802, 20000),
  orientation: {
    heading: 6.283185307179586,
    // 视角
    pitch: -1.5686521559334161,
    roll: 0,
  },
}


// 对视图进行初始化
export const initMap = (viewer) => {
  // 显示地球
  viewer.scene.globe.show = true

  // 隐藏版权信息
  viewer._cesiumWidget._creditContainer.style.display = 'none'

  // 设置初始地图位置
  viewer.camera.setView(initPerspective)

  // 移除默认鼠标左键双击事件
  viewer.cesiumWidget.screenSpaceEventHandler.removeInputAction(
    Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK
  )

  // 开启深度检测
  viewer.scene.globe.depthTestAgainstTerrain = true
}
